﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using Grishko.DataTier;
using OutdoorLib.Context;
using Outdoor.BaseEntity.Context;

namespace OutdoorLib.BaseEntity.Agency
{
    public class SqlAgencyEntity : EntitySingle, AgencySqlSignature
    {

        private string _AgencyID = "1";        
       /// <summary>
       /// Ид вычисляется на основании принадлежности текущего пользователя к тому или иному агенству
        /// Если AgencyLib_GlobalConstants._getAgencyId используется значение функции
       /// </summary>
        public virtual string AgencyID 
        {
            get {
                try
                {

                    //if (null == HttpContext.Current)// Это асинхронное сохранение в отдельном процессе
                    //    return _AgencyID;

                    //if (null == AgencyLib_GlobalConstants._getAgencyId) // Это стандартное от выичслемого текущего пользователя
                    //    _AgencyID= AgencyLib_GlobalConstants.CurrentAgency.ID;
                    //else
                    //    _AgencyID= AgencyLib_GlobalConstants._getAgencyId();// явно указан ид через функцию 

                    return _AgencyID;
                }
                catch
                {
                    return _AgencyID;
                }
            }
                
            set 
            {
                _AgencyID = value;
                    
                        

            }
        }


        #region ISqlSignature Members

        public virtual  string SaveProcedure
        {
            get { return "SaveEntity"; }
        }

        public virtual string DeleteProcedure
        {
            get { return "DeleteEntity"; }
        }

        public virtual string LoadProcedure
        {
            get { return "LoadEntity"; }
        }

        #endregion
    }
}
